Content sharing web page overlay system

ABSTRACT

An approach for sharing information. The approach includes a method that includes generating, by at least one computing device, a message within a communication layer overlaid on a web page. The method further includes generating a screen shot of the web page. The method further includes sending the screen shot and the message to another user as a memo configured to be displayed on the communication layer overlaid on the web page on a receiving computing device.

TECHNICAL FIELD

The present invention generally relates to sharing information, and moreparticularly, to a method and system for sharing communications whileviewing web-based content at the same time.

BACKGROUND

Web pages are developed and can be created and updated by multiplemembers of a web development team, based on promotional needs,improvements for the user experience, and internal organizational needs.To improve the quality of the web page, the web development team cansend information about the web page to reviewers and even end-users ofthe web page for review. The review process can include suggestionsabout web page content, e.g., images, colors, language, etc. Once areview is completed, the reviewers can send an email, for example, tothe web development team that describes the reviewer's recommendationsand ideas about the web page. Thus, the web development team can receivethe reviews, make changes to the web pages, and send the updated webpage information back to the reviewers, thereby initiating a continuousreview and improvement process of the web page.

SUMMARY

In a first aspect of the invention, a method includes generating, by atleast one computing device, a message within a communication layeroverlaid on a web page. The method further includes generating a screenshot of the web page. The method further includes sending the screenshot and the message to another user as a memo configured to bedisplayed on the communication layer overlaid on the web page on areceiving computing device.

In another of the invention, there is a computer program product forsharing messages. The computer program product includes a computerusable storage medium having program code embodied in the storagemedium. The program code is readable/executable by a computing device toreceive a first user identifier, a second user identifier, andauthorization from a user to allow at least one memo to be sharedbetween a first user, associated with the first user identifier, and asecond user associated with the second user identifier. The computerprogram product includes receiving, by the computing device, from thefirst user, a first memo comprising a text message and a screen shot ofa web page. The computer program product includes sending, by thecomputing device, the first memo to the second user based on theauthorization. The computer program product includes receiving, by thecomputing device, a second memo from the second user as a response tothe first memo. The computer program product includes sending, by thecomputing device, the second memo to the first user base on theauthorization. The first memo and the second memo are displayed on atransparent communication layer displayed over a web page on the firstuser's device.

In a further aspect of the invention, there is a system including a CPU,a computer readable memory and a computer readable storage medium.Additionally, the system includes one or more program instructions.Program instructions are operable to receive one or more identifiers andauthorization to allow at least one memo to be shared between selectedusers. Program instructions are operable to receive a first memo and afirst screen shot of a web page from an authorized first user. Programinstructions are operable to send the first memo and the first screenshot to a second user based on the authorization. Program instructionsare operable to receive a second memo and a second screen shot from thesecond user. Program instructions are operable to send the second memoand the second screen shot to the authorized first user. The first memo,the second memo, the first screen shot, and the second screen shot aredisplayed at the same time on a transparent communication layer on theauthorized first user's device. The program instructions are stored onthe computer readable storage medium for execution by the CPU via thecomputer readable memory.

In another aspect of the invention, a method for deploying a system forcontent sharing in a networked computing environment comprises providinga computer infrastructure being operable to: generate, by at least onecomputing device, a message within a communication layer overlaid on aweb page; generate a screen shot of the web page; and send the screenshot and the message to another user as a memo configured to bedisplayed on the communication layer overlaid on the web page on areceiving computing device.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The present invention is described in the detailed description whichfollows, in reference to the noted plurality of drawings by way ofnon-limiting examples of exemplary embodiments of the present invention.

FIG. 1 is an example environment for implementing the steps inaccordance with aspects of the present invention.

FIG. 2 is an example network diagram in accordance with aspect of thepresent invention.

FIG. 3 is an example functional block diagram for sharing communicationsin accordance with aspects of the present invention.

FIGS. 4-5 show example flows in accordance with aspects of the presentinvention.

FIGS. 6-7 show example displays in accordance with aspects of thepresent invention.

DETAILED DESCRIPTION

The present invention generally relates to sharing information, and moreparticularly, to a method and system for sharing communications whileviewing web-based content at the same time. In embodiments, the presentinventions overcomes conventional methods of sharing web page contentfor review by creating a communication layer over a web page that allowsfor web page developers and reviewers to interact within thecommunication layer. Not only are the web page developers and reviewersable to view each other's comments, messages, memos, etc., on the sameinterface, but they can also view stored screen shots, including pastmessages within the transparent communication layer. As such, the webpage developers can receive comments and reviews in less time withouthaving to: (i) send a message (e.g., email) to another account; (ii)wait for a reply; and (iii) open their own account to view the message.Instead, the web page developers can receive comments and provideupdates within one transparent communication layer that allows for aninteractive review process that requires less time and resources thanconventional communication methods. Also, advantageously, the personalinteraction allows the web page developers as well as the reviewers toreview each other's comments in context of the screen shot, i.e., whilealso viewing the web page. This allows for placing the comments incontext of the actual web page which is being commented upon.

Accordingly, the present invention allows for: (i) downloading a sharingapplication for use in a web page browser; (ii) web page developers andreviewers to enter comments, web page screen shots, etc., into atransparent communication display layer that is layered over a web page;(iii) creating a group that includes authorized developers and reviewerswho only can view each other's comments, memos, web page screen shots,etc.; (iv) a sharing server to share comments between multiple computingdevices so that comments within a transparent communication layer on onecomputing device is also visible on transparent communications layers onother computing devices associated with the group; and (v) a sharingserver to store historical comments, memos, web page screen shots, etc.,which can be viewed by any developer or reviewer who is an authorizedmember of a group.

Thus, the present invention ensures that web page developers andreviewers can synchronize, in real-time, screen shoots, comments, memos,messages, content, and/or other information from multiple users onto onetransparent communication layer. Furthermore, the present inventionensures that the web page developers and reviewers can view pastcomments, memos, screen shots, etc., on the same transparentcommunication layer. As such, a single transparent communication layercan be used to provide communications between multiple users. While thepresent invention describes the communication layer as a transparentcommunication layer, the transparent communication layer can also bedescribed as a plugin, a web user interface, and/or any other type ofcommunication interface/application.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

FIG. 1 shows an illustrative environment 10 for managing the processesin accordance with the invention. To this extent, environment 10includes server 12, or other computing system. In particular, server 12includes a computing device 14. The computing device 14 can be residenton a network infrastructure or computing device of a third party serviceprovider (any of which is generally represented in FIG. 1). Inembodiments, device 110 can communicate with the server 12 and providedisplays and communications in accordance with aspects of the presentinvention. The device 110 can be a laptop, desktop computer, smartphone, tablet, and/or any other computing device capable of viewing webpage content and/or receiving and sending web page content, textualmessages, and/or other types of information from other devices.

The computing device 14 also includes a processor 20 (e.g., CPU), memory22A, an I/O interface 24, and a bus 26. The memory 22A can include localmemory employed during actual execution of program code, bulk storage,and cache memories which provide temporary storage of at least someprogram code in order to reduce the number of times code must beretrieved from bulk storage during execution. In addition, the computingdevice includes random access memory (RAM), a read-only memory (ROM),and an operating system (O/S).

The computing device 14 is in communication with external I/Odevice/resource 28 and storage system 22B. For example, I/O device 28can comprise any device that enables an individual to interact withcomputing device 14 (e.g., user interface) or any device that enablescomputing device 14 to communicate with one or more other computingdevices using any type of communications link. The external I/Odevice/resource 28 may be for example, a handheld device, PDA, handset,keyboard, etc.

In general, processor 20 executes computer program code (e.g., programcontrol 44), which can be stored in memory 22A and/or storage system22B. Moreover, in accordance with aspects of the invention, programcontrol 44 controls a sharing engine 102 e.g., the processes describedherein. Sharing engine 102 can be implemented as one or more programcode in program control 44 stored in memory 22A as separate or combinedmodules. Additionally, sharing engine 102 may be implemented as separatededicated processors or a single or several processors to provide thefunction of these tools. While executing the computer program code, theprocessor 20 can read and/or write data to/from memory 22A, storagesystem 22B, and/or I/O interface 24. The program code executes theprocesses of the invention. The bus 26 provides a communications linkbetween each of the components in computing device 14.

The computing device 14 can comprise any general purpose computingarticle of manufacture capable of executing computer program codeinstalled thereon (e.g., a personal computer, server, etc.). However, itis understood that computing device 14 is only representative of variouspossible equivalent-computing devices that may perform the processesdescribed herein. To this extent, in embodiments, the functionalityprovided by computing device 14 can be implemented by a computingarticle of manufacture that includes any combination of general and/orspecific purpose hardware and/or computer program code. In eachembodiment, the program code and hardware can be created using standardprogramming and engineering techniques, respectively.

Similarly, server 12 is only illustrative of various types of computerinfrastructures for implementing the invention. For example, inembodiments, server 12 comprises two or more computing devices (e.g., aserver cluster) that communicate over any type of communications link,such as a network, a shared memory, or the like, to perform the processdescribed herein. Further, while performing the processes describedherein, one or more computing devices on server 12 can communicate withone or more other computing devices external to server 12 using any typeof communications link. The communications link can comprise anycombination of wired and/or wireless links; any combination of one ormore types of networks (e.g., the Internet, a wide area network, a localarea network, a virtual private network, etc.); and/or utilize anycombination of transmission techniques and protocols.

In embodiments, device 110 stores memo application 115. Memo application115 is operable and designed to generate a transparent communicationlayer that can be layered over a web page or other types of content. Inthis way, a user of device 110 can enter text, screen shots, graphics,etc., using the transparent communication layer and send the informationto another user who is also using a transparent communication layer ontheir device. The communication will be sent as an overlay on anexisting webpage (including its content, e.g., graphics, layout, etc.).The other user (receiving user) can then view the sent information onother devices using memo application 115. That is, the receiving userwill be able to receive the communication as an overlay of the web page,including the graphics, layout, etc. This allows both parties tocommunicate with one another, while viewing a snapshot of a web page. Inembodiments, the communication can be a memo, e.g., a message thatincludes text, graphics, screen shots, shapes, and/or any other type ofcontent that can be sent and viewed between devices. Advantageously,this places the communication concerning, for example, the design of theweb page in context with the actual web page. That is, the communicationabout the web page can easily and transparently be viewed with the webpage at the same time.

In embodiments, the transparent communication layer can be based oncascading style sheet (CSS) layer technology, hypertext markup language(HTML), hypertext processor (PHP) language, and/or any other type oflayer language that can use different communication protocols (e.g.,HTTP) with different types of languages (e.g., JavaScript, DB2, etc.).In embodiments, device 110 can send/receive HTTP messages, SMS messages,MMS messages, and/or using any other type of communication protocol tosend messages.

In embodiments, sharing engine 102 includes user management module 120,memo management module 130, and communication module 140. In an exampleuse, sharing engine 102 receives web page information and messages, andbased on stored preferences regarding sharing of information, sharingengine 102 sends the web page information and messages to other devices.In this way, the information can be viewed by both the sending party andthe receiving party using the same communication interface, but ondifferent devices. In embodiments, the user management module 120, memomanagement module 130, and communication module 140 use context data152, content data 154, and user data 156, stored in storage device 22B.

In embodiments, context data 152 can include information relating to aparticular set of messages relating to web page content. Additionally,or alternatively, context data 152 can store context identification (ID)for a set of messages. For example, messages between developers andreviewers for web page “XYZ.com” may be a given an ID, such as“XYZ2014.” Additionally, or alternatively, context data 152 can includeURL information regarding a web page associated with a particularcontext ID. For example, context ID LRU122 can be associated with theURL “LRU.com.” Additionally, or alternatively, context data 152 caninclude sharing information. In embodiments, sharing informationindicates which users (e.g., developers, reviewers, end-users, etc.) canshare and view web page information relating to a particular context ID.

In embodiments, content data 154 can include information relating to thecontent provided within shared messages. In embodiments, content data154 can store context ID which allows content data to relate contextinformation from context data 152 with information in content data 154.In further embodiments, content data 154 can store a comment ID, whichprovides an identifier to one or more comments associated with a contextID. For example, the comment ID can be associated with a single messagesent between two users or associated with multiple messages sent betweentwo users. In embodiments, content data 154 can store user IDinformation regarding different users that share messages. The user IDinformation allows content data 154 to relate which users are associatedwith the content data and also which users are associated with a contextID.

In embodiments, content data 154 can include timestamp informationrelating to the time that a message was initiated by a user, along withwhen a web page screen shot was taken. For example, if a user sends amessage using their transparent communication layer at 2:03 p.m., thenat that time a screen shot is also taken of the web page layered belowthe transparent communication layer. Thus, content data 154 receives thetimestamp of when the web page screen shot and the message are created.In embodiments, content data can include layer ID information, e.g., anidentifier for a transparent communication layer stored on device 110.Content data 154 can be used to determine which device 110 is providingthe messages by using the layer ID. In this way, the layer ID can beused to ensure that memos are sent from, or received by, devices 110that are associated with authorized users.

In embodiments, content data 154 can also include content. The contentcan be any kind of web page content, such as text, colors, images,graphical designs, photos, etc., that make up the design of the webpage. In embodiments, content data 154 can also include the web pagecontent that occurred at an instance in time, which is stored in storage22B, i.e., a screen shot, which may be related to the content ID.

In embodiments, user data 156 is information relating to developers,reviewers, and end-users who are members of one or more groups of users.User data 156 can include, for example, a user ID identifying each user.This can include the user's name and/or the user's organizationalaffiliation (e.g., member of testing team, development team, operationsteam, etc.). More specifically, user data 156 includes: (i) identifierinformation for a user, such as user name; (ii) password information fora user; (iii) the type of user—a web page developer or reviewer; (iv)the authorization level of the user, e.g., the administrator for agroup, a member of the group, etc.; (v) authorization level of how muchhistorical information can viewed; (vi) preferences and rules todetermine which messages can be sent to particular members of a group(e.g., messages during a particular time of day, day, etc., are onlysent to select members, messages with particular text or screen shotinformation are only sent to select members, etc.); and/or (vii) anyother type of user information.

The user information can be in combination with context data 152 andcontent data 154 or any combination thereof. In this way, it is possibleto relate user ID to different content IDs and context IDs, therebycreating relationships between different information which can be usedby user management module 120, memo management module 130, and/orcommunication module 140 to synchronously share memos and web pagescreen shots between multiple users.

In embodiments, user management module 120 allows for the creation ofuser accounts and groups, for use with the transparent communicationlayer. For example, user management module 120 can use identifierinformation from user data 156. Thus, user management module 120 canreceive a message from a transparent communication layer from one device110, and based on user group information, determine which other devices110 are to receive the message. For example, device 110 sends a message“Hello” and also a screen shot of a web page to computing device 14.User management module 120 can determine, based on requested identifierinformation (e.g., user name) from user data 156, that device 110 ispart of the “XYZ” group and that this group has two other devices 110.Thus, user management module 120 sends the message and screen shot totwo other devices 110, which are part of the “XYZ” group. In a furtherexample, user management module 120 can also use saved preferences thatwill permit only one of the two devices 110 to receive a message and/ora subsequent message thread.

In embodiments, memo management module 130 can update (e.g., edit,delete, etc.) stored messages in sharing engine 102, share messagesbetween different devices 110, and/or provide notifications to users.For example, memo management module 130 receives a request from device110 to implement an action which may be a stored message in storagesystem 22B. More specifically, a user of device 110 may have written amemo and would like to share that memo with another user. In thisscenario, the memo from device 110 is sent to memo management module130. In turn, memo management module 130 receives the message along withthe web page screen shot, stores the message and the web page screenshot in storage system 22B, and, based on stored preferences and rules,sends the message to the other device 110. The other device 110 can viewthe message on its transparent communication layer, thereby allowinganother user to view the message and also reply to the message.

In embodiments, memo management module 130 can also receive requests toupdate messages stored in storage system 22B. For example, memomanagement module 130 can receive a request from device 110 to update(e.g., correct a spelling mistake) a previously sent memo to anotherdevice 110. In embodiments, memo management module 130 may interact withuser management module 120 to determine whether the request is from auser permitted to make such updates. Furthermore, if the update requestis made during an active communication session between two devices 110,memo management module 130 can send the update to the other device 110.Thus, the user of the other device 110 will receive the updated message.

In embodiments, memo management module 130 can also receive a request todelete previously sent messages that are stored by storage system 22B.For example, upon receiving a request by an authorized user to delete amessage, memo management module 130 can send a message to user data 156to delete the message. In embodiments, memo management module 130 canalso determine, based on interacting with user management module 120,whether the user has authorization to delete messages. Furthermore, ifthe update request is made during an active communication sessionbetween two devices 110, memo management module 130 can send a deletecommand to the other device 110. Thus, the message will also be deletedfrom the other device's display.

In embodiments, memo management module 130 can also generatenotifications regarding updates to stored messages. In embodiments, whena message is updated, and/or deleted, memo management module 130 cansend a notification to other devices 110 regarding the update, deletion,etc. In embodiments, the notification can be sent to the transparentcommunication layer on each device 110, as well as via text messages,emails, SMS messages, etc., to each device 110 based on user preferencesstored in user data 156. In embodiments, memo management module 130 canalso send notifications upon other events, e.g., new memo being createdand sent to another user, new users entering the communication session,etc.

In embodiments, communication module 140 generates message threads thatcan be displayed on multiple transparent communication layers. Thisallows different comments to be arranged in a particular order within amessage thread. In embodiments, the order of the different comments canbe arranged by time, level of urgency (e.g., tagged by a user to beurgent), and/or any other method of arranging comments, in context witha screenshot at a particular time.

FIG. 2 shows an example network diagram in accordance with aspects ofthe invention. FIG. 2 shows devices 110-1, 110-2, . . . , 110-N(hereinafter referred to device 110 in the singular and devices 110 inthe plural), network 125, and sharing server 160. While FIG. 2 shows aparticular quantity of each type of device and/or network, there may beadditional or fewer devices, servers, and/or networks.

In this example, devices 110 may include any computation orcommunication device that is capable of communicating with a network(e.g., network 125). For example, devices 110 can be a laptop, desktopcomputer, smart phone, tablet, or any other type of computing device.Accordingly, devices 110 can receive and/or display content, which caninclude, for example, objects, data, images, audio, video, text, and/orlinks to files accessible via one or more networks. In embodiments, eachdevice 110 can include memo application 115 which generates atransparent communication layer displayed as an overlay on web pages.Thus, memo application 115 allows for different users to send andreceive screen shots and messages within the transparent communicationlayer, thereby allowing different users to see the sent/received screenshots and messages at the same time on different devices 110.

Network 125 may include one or more networks that allow forcommunication between different devices (e.g., devices 110, sharingserver 160, etc.). In embodiments, network 125 can comprise an Internet,Intranet, local area network (LAN), wide area network (WAN), a GPSnetwork, radio access network, a wireless fidelity (Wi-Fi) network, aWorldwide Interoperability for Microwave Access (WiMAX) network, acellular network, and/or a combination of these or other networks.

Sharing server 160 can include one or more computational devices thatcan store messages and share the messages between different devices 110based on whether devices 110 are registered and authorized to receivethe messages. In embodiments, sharing server 160 can store modules andrelationship databases that are used to share, update, and/or deletemessages between different devices 110, as described in FIG. 1.

FIG. 3 is an example functional block diagram for sharing communicationsin accordance with aspects of the present invention. As shown, FIG. 3includes web page 302, transparent communication layer 304, developmentteam 306, reviewer team 308, message thread 310, screen shot 312, replybutton 314, message thread 316, screen shot 318, new comment 320, andhide selection 322.

In embodiments, web page 302 can be any web page that includes differenttypes of text, images, graphics, and/or other types of content. Inembodiments, web page 302 can be generated using JAVA, JAVAscript, HTML,and/or other types of languages. In embodiments, web page 302 can beassociated with a particular URL address. In embodiments, transparentcommunication layer 304 can be a communication layer, e.g., page,overlay, etc., that is visually placed over web page 302. In this way,transparent communication layer 304 can send, receive and displaycommunications from both development team 306 and reviewer team 308.

In embodiments, development team 306 can be one or more users thatdevelop web page 302 and communicate using transparent communicationlayer 304. On the other hand, reviewer team 308 can be one or more usersthat review web page 302 designed by development team 306. Reviewer team308 can communicate with the development team 306 using transparentcommunication layer 304. As shown in FIG. 3, both development team 306and reviewer team 308 will have access to the same messages andinformation at the same time when they use transparent communicationlayer 304, as described herein.

In embodiments, message thread 310 provides one or more message threadsof selected users, e.g., development team 306 and reviewer team 308. Asshown in this example, message thread 310 shows A, B, and C, whichrepresent user A, user B, and user C. For example, user A could be amember of development team 306; whereas users B and C are members of thereviewer team 308. Upon entering a message and selecting reply button314, transparent communication layer 304 can take screen shot 312 of thecurrent state of web page 302. The screen shot 312 is then sent anddisplayed on transparent communication layer 304 associated with themost recent message on any participating user's display. In this way,the latest message will be provided in context with the latest revisionsof the web pages.

In embodiments, screen shot 312 changes when the user who startedmessage thread 310 enters a message. In alternate embodiments, screenshot 312 can also change each time a user within message thread 310enters a new message. Thus, when user C enters a message (e.g., typing amessage, providing voice/audio commands, etc.) upon selecting replybutton 314, screen shot 312 will change to an updated screen shot of webpage 302.

In embodiments, selecting screen shot 312 allows a user to view thescreen shot as an image of the web page. In examples, selecting screenshot 312 can provide: (i) a larger image of the screen shot; (ii)playing of video (e.g., playing, rewinding, forwarding, etc.) embeddedwithin the screen shot; (iii) playing of audio embedded within thescreen shot; and/or (iv) any other selectable graphical and/or visualportion of the screen shot.

Message thread 316 can be started by any user who is a member ofdevelopment team 306 or reviewer team 308 or other registered user.Similar to message thread 310, message thread 316, once initiated by auser, can include one or more messages which, when sent using replybutton 314, results in screen shot 318 being taken of web page 302 andbeing displayed on devices used by development team 306 and reviewerteam 308. For example, message thread 310 may be started by a developeron development team 306 and message thread 316 may be started by areviewer on reviewer team 308. In this example, screen shot 312 couldshow a screen shot of updates being made by the developer and screenshot 318 can be updates provided by reviewer team 308. For example,reviewer team 308 can edit, e.g., highlight, etc., web page 302 on theirdevices, and send a message with these edits as screen shot 318 todevelopment team 306. In embodiments, the edits and highlights shown inscreen shot 318 can be exclusive to the screen shot and do not appear onweb page 302 when viewed by development team 306 or other users whenviewing web page 302 on other devices. The edits within the screen shotwill be then visible on transparent communication layer 304 for reviewby development team 306. In embodiments, development team 306 andreviewer team 308 can embed video and/or audio information into anyscreen shot 312 and/or 318 to assist in the design of the web page.

In embodiments, new comment 320 is a selection button/icon that can beused to start a new message thread by users from either development team306 or reviewer team 308 or other registered users. Once selected, a newmessage thread can be shown on transparent communication layer 304 alongwith message threads 310 and 316. In embodiments, hide selection 322 isa selection button/icon that can be used to hide transparentcommunication layer 304, resulting in either closing or minimizingtransparent communication layer 304 on web page 302.

FLOW DIAGRAM

FIGS. 4 and 5 show exemplary flows for performing aspects of the presentinvention. The steps of FIGS. 4 and 5 may be implemented in theenvironment of FIGS. 1, 2, and/or 3, for example. The flowchart andblock diagrams in the figures illustrate the architecture,functionality, and operation of possible implementations of systems,methods and computer program products according to various embodimentsof the present invention. In this regard, each block in the flowchart orblock diagrams may represent a module, segment, or portion of code,which comprises one or more executable instructions for implementing thespecified logical function(s). It should also be noted that, in somealternative implementations, the functions noted in the block may occurout of the order noted in the figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently, or theblocks may sometimes be executed in the reverse order, depending uponthe functionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

FIG. 4 depicts an exemplary flow for a user to share messages with otherusers in accordance with aspects of the present invention. At step 402,a user logs into a memo sharing application downloaded on their device.Upon logging into the memo sharing application, a transparentcommunication layer can be displayed on the device screen. At this time,or prior to logging into the memo sharing application, the user may alsodisplay a web page on the same device screen. In embodiments, thetransparent communication layer can receive URL information about theweb page either (i) automatically when the web page is displayed on thescreen or (ii) by the user entering the URL information into thetransparent communication layer.

In embodiments, the user may already be a member of a group thatdevelops/reviews web page designs. For example, the user may be anadministrator/manager of a group or the user may be a member of thegroup. Alternatively, the user can register to become a member of anexisting group.

At step 404, the user creates a message. For example, the user enters amessage into the transparent communication layer (e.g., “What do youthink about gothic style text?”). Upon entering the message, the usercan select a “send/reply” button/icon that results in a screen shotbeing taken of the currently displayed web page with, e.g., a URL storedby the transparent communication layer. In this way, the screen shotalong with the message provided on the transparent communication layercan then be sent to other authorized/registered users.

At step 406, the user receives a reply message in response to the sentmessage. In embodiments, the reply message is shown on the transparentcommunication layer. Thus, the user can view the sent message, the replymessage and the screen shot on the same interface at the same time.

FIG. 5 depicts an exemplary flow for a server to share messages betweendifferent users in accordance with aspects of the present invention. Atstep 502, the server receives user information. In embodiments, the userinformation can include user ID, user name, employer information (e.g.,company, department, title, etc.), email address, phone number, workavailability, etc. At step 504, the server receives content information.In embodiments, the content information can include web page content,web page screen shot information, timestamp information, messages, etc.At step 506, the server receives context information. In embodiments,the context information can include a web page URL, sharing information(e.g., which users can receive and share messages), and/or otherinformation. In embodiments, the server uses the context information togenerate context IDs, which identify and provide relationships betweendifferent messages and multiple users. At step 508, the server receivesa request relating to a message. In embodiments, the request can be tosend a message, update a message, delete a message, update screen shots,and/or notifying a user about a message being sent, updated, or deleted.

FIG. 6 shows an example display of a communication summary 600 inaccordance with aspects of the present invention. In embodiments,communication summary 600 is a summary page generated by a server,showing a history of communications between registered users.Communication screen 608 provides the user the ability to view messagesof different sessions, communications, etc. For example, communicationsummary 600 can be displayed on a user's device, such as a laptop, smartphone, etc., to provide a summary of communications, allowing the userto easily navigate through a history of messages and/or screen shots.

As shown in FIG. 6, communication summary 600 includes web page title602, layer 604, your memo 606, other's memo 608, sharing information610, and search 612. While communications summary 600 shows a particularnumber of columns and rows, communication summary 600 can includeadditional or fewer columns, and/or rows of other types of information.

In embodiments, web page title 602 displays tables of different webpages associated with different communications between developers,reviewers, and/or end-users. As shown, each block within web page title602 includes a name of the web page (e.g., XYZ) and also a link (“go tothe page”) that, when selected, displays that particular web page on theuser's device. Web page title 602 can be considered a project name sincethe same web page may be developed/reviewed by different teams. Forexample, one project may be XYZ123 for website XYZ.com and anotherproject may be XYZ346 for different project.

In embodiments, layer 604 displays an identifier associated with atransparent communication layer that is or was being used by multipleusers. For example, a transparent communication layer can be titled“Testing Team-1” which is being used by members of group authorized touse that particular communication layer. As discussed, the sharingserver can store the identifier so that it can be used to determinewhich users are view memos (i.e., messages) and screen shots on theirdevice.

In embodiments, your memo 606 displays messages sent by the user whorequested communication summary 600. As shown, your memo 606 includesall the memos, their date and times, and also part of the message. Inembodiments, the user can select a message (e.g., selecting the icon)and view the entire message or message threads. Also, each message canhave an icon or graphic that is associated with the user. Additionally,each message has a “edit” selection which allows the user to change themessage (e.g., update, delete, etc.).

In embodiments, other's memo 608 is a column that displays messages sentby other users who are associated with web page title 602. As shown,other's memo 608 includes all other user's memos, their date and times,and also a part of the message. Each message in other's memo 608 canalso include an icon or graphic that is associated with the other user.In embodiments, the user can select one of these messages and view theentirety of the message.

In embodiments, sharing information 610 includes information aboutdifferent users and/or teams of users who are authorized to use thelayer described in layer 604. For example, as shown in FIG. 6,“Development Team-1” layer can be shared with “ABC Dev Team” and “ABCTest Team:” and the sharing server may store user IDs who are associatedwith these particular teams. Thus, the user requesting communicationsummary 600 can confirm and/or change which teams and/or particularusers are allowed to use a particular layer as described in layer 604.

In embodiments, search 612 allows the user who requested communicationsummary 600 to search for particular information. For example, the usercould enter a user's name and be provided with all messages generated bythe user. Additionally, or alternatively, the user could enter a webpage URL and be provided with all the communications associated withthat web page. Additionally, or alternatively, the user can enter inmultiple search terms to review, such as both a user name along with aweb page, to receive a granular level of search results.

FIG. 7 shows an example display of a historical communication detail 702in accordance with aspects of the present invention. In embodiments,communication detail 702 can be displayed to a user who selected aparticular communication from communication summary 600. As shown,communication detail 702 includes web page information 704, teaminformation 706, edit 708, share 710, screen shot 712, user identifier714, message 716, user identifier 718, message 720, edit 722, notify724, screen shot 726, user 728, message 730.

In embodiments, web page information 704 describes a web page URL andalso a title for that particular web page (e.g., home page, login page,etc.). In embodiments, communication detail 702 can include teaminformation 706 which can be edited (e.g., changing the users within theteam) by using edit 708 and/or sharing the information withincommunication detail 702 with other users who may not be members of theteam. In embodiments, screen shot 712 shows a screen shot taken at aparticular date and/or time, allowing the ability to select a largerdisplay of the screen shot. In embodiments, user identifier 714describes a user who had entered message 716. In embodiments, message716 includes a message, including, e.g., the time that the message wassent. In response to message 716, communication detail 702 can includeuser identifier 718, identifying a user who had entered message 720 at alater time. In embodiments, message 716 can be edited by using edit 722.For example, edit 722 allows an authorized user to either update,delete, and/or change a message that was generated by the authorizeduser. In embodiments, the user can also use notify 724 to notify otherusers regarding a particular message. For example, selecting notify 724can results in a pop-up message screen that allows a message to be sentto other users on other communication platforms (e.g., email, SMS,etc.).

Communication detail 702 can also include screen shot 726 which isanother screen shot of the web page described in web page 702.Additionally, communication detail 702 can also display message 730created by user 728, which includes a message and a timestamp for thatmessage.

In embodiments, the invention provides a method that performs theprocess of the invention on a subscription, advertising, and/or feebasis. That is, a service provider, such as a Solution Integrator, couldoffer to provide sharing information functionality. In this case, theservice provider can create, maintain, support, etc., a computerinfrastructure, such as computer system 12 (FIG. 1) that performs theprocesses of the invention for one or more consumers. In return, theservice provider can receive payment from the consumer(s) under asubscription and/or fee agreement and/or the service provider canreceive payment from the sale of advertising content to one or morethird parties.

In still another embodiment, the invention provides acomputer-implemented method for sharing information. In this case, acomputer infrastructure, such as computer system 12 (FIG. 1), can beprovided and one or more systems for performing the processes of theinvention can be obtained (e.g., created, purchased, used, modified,etc.) and deployed to the computer infrastructure. To this extent, thedeployment of a system can comprise one or more of: (1) installingprogram code on a computing device, such as computer system 12 (FIG. 1),from a computer-readable medium; (2) adding one or more computingdevices to the computer infrastructure; and (3) incorporating and/ormodifying one or more existing systems of the computer infrastructure toenable the computer infrastructure to perform the processes of theinvention.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method comprising: generating, by at least onecomputing device, a message within a communication layer overlaid on aweb page; generating a screen shot of the web page; sending the screenshot and the message to another user as a memo configured to bedisplayed on the communication layer overlaid on the web page on areceiving computing device; receiving a reply message and a memo thatincludes another screen shot different from the screen shot of the webpage; displaying the reply message and the memo that includes anotherscreen shot at a different location on the communication layer overlaidon the web page from the screen shot; and displaying a transparent layerin response to a user logging into the at least one computing device,and the transparent layer automatically receiving URL information whenthe web page is displayed, wherein the memo includes markings made tothe web page that are not originally shown on the web page displayed bythe at least one computing device, and the communication layer is thetransparent layer that generates the screen shot of the web page andincorporates cascading style sheet (CSS) technology.
 2. The method ofclaim 1, further comprising: selecting the another screen shot;increasing a size of the another screen shot, based on the selecting;playing a video embedded within the another screen shot, based on theselecting; playing audio embedded within the another screen shot, basedon the selecting; and displaying the increased size screen shot on theat least one computing device.
 3. The method of claim 1, wherein thescreen shot includes a timestamp that indicates when the screen shot ofthe web page was taken and a timestamp that indicates when the messageis generated.
 4. The method of claim 1, wherein the sending of themessage includes sending the message to authorized members of a groupbased on preferences provided by an authorized user, wherein thepreferences include user identifiers for the authorized members of thegroup.
 5. The method of claim 4, wherein the preferences include: aperiod of time that allows at least one member of the group to send orreceive messages; and an authorization that allows at least one memberof the group to view historical messages.
 6. The method of claim 1,wherein the message includes selectable video and audio portions forplaying on the at least one computing device by an authorized userassociated with a user identifier that is confirmed by a server prior tothe authorized user receiving the message.
 7. The method of claim 1,further comprising: displaying a history of previous screen shots andmessages from a plurality of users, wherein the displaying the historyof previous screen shots and messages is provided on the communicationlayer laid over the web page.
 8. The method of claim 1, wherein thescreen shot of the web page changes with revisions made to the web pageeach time a user sends a new message from the at least one computingdevice.
 9. The method of claim 8, wherein the revised screen shot issent with a message to another user's device.
 10. The method of claim 1,wherein a service provider at least one of creates, maintains, deploysand supports the computer infrastructure.
 11. The method of claim 1,wherein the steps of claim 1 are provided by a service provider on asubscription, advertising, and/or fee basis.
 12. A computer programproduct for sharing messages, the computer program product comprising acomputer readable storage medium having program instructions embodiedtherewith, the program instructions readable/executable by a computingdevice to cause the computing device to: receive, by the computingdevice, a first user identifier, a second user identifier, andauthorization from a user to allow at least one memo to be sharedbetween a first user, associated with the first user identifier, and asecond user associated with the second user identifier; receive, by thecomputing device, from the first user, a first memo comprising a textmessage and a screen shot of a web page; send, by the computing device,the first memo to the second user based on the authorization; receive,by the computing device, a second memo comprising another screen shotfrom the second user as a response to the first memo; send, by thecomputing device, the second memo to the first user based on theauthorization, wherein the first memo and the second memo are displayedat different locations on a transparent communication layer displayedover a web page on the first user's device; and display, by thecomputing device, a transparent layer in response to a user logging intothe computing device, and the transparent layer automatically receivingURL information when the web page is displayed, wherein the second memoincludes markings made to the web page that are not originally shown onthe web page displayed by the computing device, and the communicationlayer is the transparent layer that generates the screen shot of the webpage and incorporates cascading style sheet (CSS) technology.
 13. Thecomputer program product of claim 12, further comprising storingpreferences regarding which users can receive memos and during whichperiods of time the users can receive the memos.
 14. The computerprogram product of claim 12, wherein the screen shot includes selectablevideo and/or content.
 15. The computer program product of claim 12,wherein the authorization further allows the first user to shareinformation with a third user that is not available for access by thesecond user.
 16. The computer program product of claim 12, furthercomprising: storing the first memo and the second memo; receiving arequest from an authorized user to view a communication summary; andsending the communication summary to the authorized user, thecommunication summary comprising: an edit feature to change the firstmemo or the second memo; a delete feature to delete the first memo orthe second memo; a search feature to search for the first memo or thesecond memo; and a notification feature to notify users about changes tothe first memo or the second memo.
 17. The computer program product ofclaim 16, wherein when the edit feature is selected, the computerprogram product is further executable to: change the first memo by theauthorized user to display different text; and notify the first user orthe second user that the first memo has been changed, wherein thenotification can be at least one of an email, text message, and a shortmessage service (SMS) message.
 18. A system comprising: a CPU, acomputer readable memory and a computer readable storage medium; programinstructions to receive one or more user identifiers and authorizationto allow at least one memo to be shared between selected users; programinstructions to receive a first memo and a first screen shot of a webpage from an authorized first user; program instructions to send thefirst memo and the first screen shot to a second user based on theauthorization; program instructions to receive a second memo and asecond screen shot from the second user; program instructions to sendthe second memo and the second screen shot to the authorized first user,wherein the first memo, the second memo, the first screen shot, and thesecond screen shot are displayed at the same time on a transparentcommunication layer on the authorized first user's device; and programinstructions to display a transparent layer in response to a userlogging into the CPU, and the transparent layer automatically receivingURL information when the web page is displayed, wherein the programinstructions are stored on the computer readable storage medium forexecution by the CPU via the computer readable memory, the first screenshot and the second screen shot are displayed at different locations onthe transparent communication layer on the authorized first user'sdevice, the second screen shot includes markings made to the web pagethat are not originally shown on the web page displayed by the at leastone computing device, and the communication layer is the transparentlayer that generates the first screen shot of the web page andincorporates cascading style sheet (CSS) technology.